<p>By convention, a Java class' physical location (source directories) and its logical representation (packages) should be kept in sync. Thus a Java
file located at "src/org/sonarqube/Foo.java" should have a package of "org.sonarqube". </p>
<p>Unfortunately, this convention is not enforced by Java compilers, and nothing prevents a developer from making the "Foo.java" class part of the
"com.apple" package, which could degrade the maintainability of both the class and its application.</p>

